#include <stdio.h>

int main() {
    // 不可变指针
    int b = 2;
    int a = 23;
    /// 指向 const 的指针变量，指针值不可变
    int const *p = &a; // *p = 89; 非法 p = &b; 合法
    /// const 型指针变量，指针地址不可变
    int *const p1 = &a; // p1 = &a; 非法 *p1 = 90; 合法
    //p1 = &a;
    *p1 = 90;

    // 指针值，指针地址都不可变 
    const int *const p2 = &a;
    /// 下列情况都会报错
    /// *p2 = 23;
    ///  p2 = &b;

    
    printf("%d \n",*p);
    printf("%d \n",*p1);
    printf("%d \n",*p2);
    return 0;
}